<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>热点图</title>
    <style>
        body {
            background-color: #5c5c5c;
        }
        @keyframes hot {
            0% {
                /* transform: scale(1, 1); */
                /* opacity: 1; */
            }
            100% {
                /* 这里的transform设置缩放时，阴影也会等比例放大，有阴影时不建议使用 */
                /* transform: scale(5, 5); */
                /* 使用宽度、高度进行动画缩放是，要使在中心缩放，要用绝对定位+transform: translate(-50%, -50%);，永远定在父盒子的中心 */
                width: 70px;
                height: 70px;
                opacity: 0;
                /* border: 2px solid transparent; */
            }
        }
        .city {
            position: absolute;
            top: 100px;
            left: 50%;;
        }
        .dotted {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: aqua;
        }
        .city div[class*="pulse"] {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            box-shadow: 0 0 8px aqua;
            animation-name: hot;
            animation-duration: 1.2s;
            animation-iteration-count: infinite;
        }
        .pulse2 {
            animation-delay: .4s;
        }
        .pulse3 {
            animation-delay: .8s;
        }
    </style>
</head>
<body>
    <div class="city">
        <div class="dotted"></div>
        <div class="pulse1"></div>
        <div class="pulse2"></div>
        <div class="pulse3"></div>
    </div>
</body>
</html>